Cloud computing has made available to businesses, individuals, and other organizations a more dynamic environment for virtualized compute, storage and network. Cloud computing providers implement cloud computing environments that can provide computation, capacity, networking, and/or storage on-demand to its customers, typically relying upon virtualization techniques such as virtual networks and/or virtual machines (VMs), which can increase the operational efficiency of the cloud consumer and more easily enable dynamic resource provisioning in response to the changing application needs of its customers. For example, multiple VMs can be hosted by a single physical server, thus increasing the utilization rate and energy efficiency of the cloud system. Accordingly, cloud service consumers typically lease virtual compute, network, and storage resources distributed among one or more physical infrastructure resources in one or more data centers.
One example of a cloud environment is called a Telco Cloud that can host telecommunications applications, such as IP Multimedia Subsystem (IMS), Push To Talk (PTT), Internet Protocol Television (IPTV), etc. A Telco Cloud often has a set of unique requirements in terms of Quality of Service (QoS), availability, and reliability. While conventional Internet-based cloud hosting systems, are server-centric, a Telco Cloud is more network-centric, including many networking devices, and having complex network architecture with various layers and protocols. The Telco Cloud infrastructure provider may allow multiple Virtual Telecom Operators (VTOs) to share, purchase or rent virtual network and compute resources of the Telco Cloud to provide telecommunications services to end-users.
However, with the use of virtualization techniques and the changing workloads placed upon a cloud provider resulting from services being launched or terminated, it has become increasingly difficult for cloud providers to monitor the capacity usage of the cloud system and ensure, as best as possible, an efficient alignment between capacity supply and demand. It has become apparent that the desired level of alignment between capacity supply and demand is varies from organization to organization. Further, the desired level of alignment for a given organization can change over time.
In addition to problems involving the alignment of capacity supply and demand in such systems, there are other related problems that are also important, including but not limited to the difficulty in identifying and releasing “stranded” capacity, and both monitoring and fulfilling Service Level Agreements (SLAs) between the provider and customers.
Although some of these problems have been studied and addressed in non-virtualized networks, they are currently unsolved in the context of virtualized networks, such as those facilitated by Software Defined Networking (SDN) and/or Network Functions Virtualization (NFV). For example, existing solutions dealing with non-virtualized networks do not contemplate, and cannot be extended to accommodate, virtualized networks employing multiple capacity layers. Accordingly, techniques are desired that can solve any or all of these problems in virtualized contexts.